libxl: apply CPUID policy for all types of VMs in all situations
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 6 Jan 2010 08:25:07 +0000 (08:25 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 6 Jan 2010 08:25:07 +0000 (08:25 +0000)
Apply CPUID policy to all types of VMs in all situations. Otherwise PV
VMs get no cpuid flags. It would be interesting if someone tested
libxl on PV before pushing dozens of patches.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.com>
tools/libxl/libxl_dom.c

index ae93bd11ea580235bfc40782e9eefb46b97c8871..7196aa869e79b601a1cece66d3f8fef33fe5da4f 100644 (file)
@@ -93,6 +93,10 @@ int build_post(struct libxl_ctx *ctx, uint32_t domid,
     char **ents;
     int i;
 
+#if defined(__i386__) || defined(__x86_64__)
+    xc_cpuid_apply_policy(ctx->xch, domid);
+#endif
+
     ents = libxl_calloc(ctx, (10 + info->max_vcpus) * 2, sizeof(char *));
     ents[0] = "memory/static-max";
     ents[1] = libxl_sprintf(ctx, "%d", info->max_memkb);
@@ -177,9 +181,6 @@ int build_hvm(struct libxl_ctx *ctx, uint32_t domid,
         XL_LOG_ERRNOVAL(ctx, XL_LOG_ERROR, ret, "hvm build set params failed");
         return ERROR_FAIL;
     }
-#if defined(__i386__) || defined(__x86_64__)
-    xc_cpuid_apply_policy(ctx->xch, domid);
-#endif
     return 0;
 }
 
@@ -192,9 +193,6 @@ int restore_common(struct libxl_ctx *ctx, uint32_t domid,
                       state->store_port, &state->store_mfn,
                       state->console_port, &state->console_mfn,
                       info->hvm, info->u.hvm.pae, 0);
-#if defined(__i386__) || defined(__x86_64__)
-    xc_cpuid_apply_policy(ctx->xch, domid);
-#endif
     return 0;
 }